package com.todo.member.application.entity.bo;

import com.todo.common.common.enums.BusinessSceneEnum;
import com.todo.member.common.enums.MemberTaskCirculateTypeEnum;
import com.todo.member.common.enums.MemberTaskClassifyEnum;
import com.todo.member.common.enums.MemberTaskStatusEnum;
import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * @author azhebuxing
 * @date 2025/3/5 02:07
 * @description
 */
@Data
public class MemberTaskBO {

    /**
     * 主键id
     */
    private Long id;

    /**
     * 任务名称
     */
    private String title;

    /**
     * 任务描述
     */
    private String desc;

    /**
     * 任务分类 新手任务、日常任务等
     */
    private MemberTaskClassifyEnum taskClassify;

    /**
     * 任务完成规则
     */
    private String finishRule;

    /**
     * 任务可见规则
     */
    private String displayRule;

    /**
     * 任务类型 一次性、天/周/月循环、时效任务、时效可重复任务
     */
    private MemberTaskCirculateTypeEnum taskType;

    /**
     * 开始时间
     */
    private Date startTime;

    /**
     * 结束时间
     */
    private Date endTime;

    /**
     * 关联奖励
     */
    private List<RelationRewardBO> relationReward;

    /**
     * 奖励计算逻辑
     */
    private String rewardCalLogic;

    /**
     * 状态
     */
    private MemberTaskStatusEnum status;
    /**
     * 业务线
     */
    private BusinessSceneEnum businessLine;
    /**
     * 是否删除
     */
    private Integer isDelete;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;
}
